perm filename ESIM.1[MAC,LSP] blob
sn#587530 filedate 1981-05-19 generic text, type C, neo UTF8
COMMENT ⊗ VALID 00003 PAGES
C REC PAGE DESCRIPTION
C00001 00001
C00002 00002 This file contains the Command decoder for the E command simulator
C00004 00003 (lap es:decode-char subr)
C00005 ENDMK
C⊗;
;;; This file contains the Command decoder for the E command simulator
;;; that is used in EVAL mode in E. What this does is to allow you
;;; to drop into this mode with αβE (meaning E mode). At which point
;;; control meta commands are decoded into em:ecommand lists that are
;;; sent to E.
(declare (*expr em:raw-ecommands)
(special -es:control- -es:meta-))
(sstatus ttyint #o705 'es:decode)
(sstatus ttyint #o745 'es:decode)
(defun es:decode ()
(do ((char (tyi)(tyi))
(cl () ()))
(())
(push (es:decode-char char) cl)
(cond (-es:meta-
(push '3 cl))
(-es:control-
(push '2 cl)))
(em:raw-ecommands (reverse cl))))
(lap es:decode-char subr)
(args es:decode-char (nil . 1))
(move tt 0 a)
(setzm 0 (special -es:control-))
(setzm 0 (special -es:meta-))
(movei b 't)
(trze tt 200) ;control
(movem b (special -es:control-))
(trze tt 400) ;meta
(movem b (special -es:meta-))
(jrst 0 fix1)
()